package cn.lizemin.factory.origin;

import cn.lizemin.factory.origin.parser.*;

import java.io.File;

/**
 * @author lzm
 * @version 1.0
 * @description: 这里是不使用设计模式的原始代码，
 *  需求是：根据不同的文件名后缀创建对应的解析器，去解析文件，读取数据
 * @date 2022/4/14 11:29
 */
public class Client {
    /**
     * 程序的入口
     */
    public static void main(String[] args) {
        String fileType = "";
        File file = new File("");
        FileParser fileParser = null;

        /**
         * 如果不使用工厂模式的话，每次解析文件都需要充斥这些大量的if-else片段，来创建对象
         */
        if ("md".equals(fileType)){
            fileParser = new MdParser();
        } else if ("ppt".equals(fileType)) {
            fileParser = new PptParser();
        } else if ("doc".equals(fileType)) {
            fileParser = new DocParser();
        } else if ("txt".equals(fileType)) {
            fileParser = new TxtParser();
        }
        //执行剩下的业务逻辑。。。。
        fileParser.parse(file);
    }
}
